package team.newexcellence.tsfitness.service;

import team.newexcellence.tsfitness.pojo.MyProject;
import team.newexcellence.tsfitness.pojo.Project;

import java.util.List;

/**
 * @Description: 运动项目服务层
 * @Author: liningbo
 * @CreateDate: 2018/8/1 12:14
 * @UpdateUser: liningbo
 * @UpdateDate: 2018/8/1 12:14
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface ProjectService {
    /**
     * 查看所有项目
     * @return
     * @throws Exception
     */
    public List<Project> lookAllProject() throws Exception;
    /**
     * 根据项目类别投影出项目
     *
     * @param projectCategory
     * @return 项目ID的集合
     * @throws Exception
     */
    public List<Project> chooseProject(String projectCategory) throws Exception;

    /**
     * 用户将所选择的项目添加到我的项目中
     * @param projectID
     * @param userID
     * @return 是否添加成功
     * @throws Exception
     */
    public Integer addProject(int projectID,int userID) throws Exception;

    /**
     * 用户查看我的项目
     * @param userID
     * @return 返回我的项目
     * @throws Exception
     */
    public MyProject lookMyProject(int userID) throws Exception;

    /**
     * 根据所选项目观看项目视频
     * @param projectID
     * @return 项目视频ID
     * @throws Exception
     */
    public String viewProjectVideo(int projectID) throws Exception;

    /**
     * 根据项目ID查找项目
     *
     * @param projectID
     * @return 项目
     * @throws Exception
     */
    public Project findProjectByID(int projectID) throws Exception;

    /**
     * 根据项目ID统计该项目运动时长
     * @param projectID
     * @return 返回运动时长
     * @throws Exception
     */
    public Integer countSportTime(int projectID) throws Exception;

}
